<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        /*
        JS 中的变量都是保存在栈内存中
        基本数据类型的值直接在栈内存中保存
        值与值之间是独立存在的，修改一个变量不会影响其他的变量

        对象是保存到堆内存中的，每创建一个新的对象，就会在堆内存中开辟一个新的空间
        而变量保存的值是堆内存的地址

         */
        var a=123;
        var b=a;
        a++;
        console.log("a="+a);
        console.log("b="+b); /* a的值为124，b的值仍为123*/

        var obj =new Object();
        obj.name ="孙悟空";
        var obj2 =obj;
        //改变obj的name的值
        obj.name="猪八戒";

        // console.log(obj.name);
        // console.log(obj2.name);
        obj2=null;
        console.log(obj);
        console.log(obj2);
/*
当比较两个基本数据类型的值时，就是比较值
而比较两个引用数据类型时，它是比较的是对象的内存地址
如果两个对象是一模一样的，但是地址不同，它也会返回false
 */
        var obj3=new Object();
        var obj4=new Object();
        obj3.name="沙和尚";
        obj4.name="沙和尚";
        console.log(obj3==obj4);  //值为false;

    </script>
</head>
<body>

</body>
</html>